using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;


namespace _2DGame
{
    /// <summary>
    /// This is a game component that implements IUpdateable.
    /// </summary>
    public class Resources
    {
        static TwoDGame myGame;
        static GraphicsDeviceManager graphics;
        static GraphicsDevice device;
        static Viewport mainViewport;
        static SpriteBatch spriteBatch;
        static ContentManager content;
        static Dictionary<String, Texture2D> textureBank;

        static Random rand;
        static SpriteFont font;

        static World world;

        static public TwoDGame MyGame
        {
            get { return myGame; }
            set { myGame = value; }
        }

        static public GraphicsDeviceManager Graphics
        {
            get { return graphics; }
            set { graphics = value; }
        }

        static public GraphicsDevice Device
        {
            get { return device; }
            set { device = value; }
        }

        static public Viewport MainViewport
        {
            get { return mainViewport; }
            set { mainViewport = value; }
        }

        static public SpriteBatch SpriteBatch
        {
            get { return spriteBatch; }
            set { spriteBatch = value; }
        }

        static public ContentManager Content
        {
            get { return content; }
            set { content = value; }
        }

        static public Random Rand
        {
            get { return rand; }
            set { rand = value; }
        }

        static public SpriteFont Font
        {
            get { return font; }
            set { font = value; }
        }

        static public World World
        {
            get { return world; }
            set { world = value; }
        }

        static public Dictionary<String, Texture2D> TextureBank
        {
            get { return textureBank; }
            set { textureBank = value; }
        }

        public Resources(TwoDGame game)
        {
            // TODO: Construct any child components here
            myGame = game;
        }

    }
}